<test>
    <settings>
        <max_threads>1</max_threads>
    </settings>

    <create_query>CREATE TABLE dt (x DateTime) ENGINE = MergeTree ORDER BY tuple()</create_query>
    <create_query>CREATE TABLE dt64 (x DateTime64(3)) ENGINE = MergeTree ORDER BY tuple()</create_query>
    <fill_query>INSERT INTO dt SELECT EventTime FROM hits_10m_single</fill_query>
    <fill_query>INSERT INTO dt64 SELECT toDateTime64(toDecimal64(toUInt64(EventTime), 3) + toDecimal64((rand() % 1000) / 1000, 3), 3) FROM hits_10m_single</fill_query>


    <query>SELECT count() FROM dt where not ignore(x)</query>
    <query>SELECT count() FROM dt64 where not ignore(x)</query>
    <query>SELECT max(x) FROM dt</query>
    <query>SELECT max(x) FROM dt64</query>
    <query>SELECT count() from dt where not ignore(toString(x))</query>
    <query>SELECT count() from dt64 where not ignore(toString(x))</query>
    <query>SELECT count() from dt where not ignore(toStartOfDay(x))</query>
    <query>SELECT count() from dt64 where not ignore(toStartOfDay(x))</query>
    <query>SELECT count() from dt where not ignore(toStartOfWeek(x))</query>
    <query>SELECT count() from dt64 where not ignore(toStartOfWeek(x))</query>
    <query>SELECT count() from dt where not ignore(toRelativeMinuteNum(x))</query>
    <query>SELECT count() from dt64 where not ignore(toRelativeMinuteNum(x))</query>
    <query>SELECT count() from dt where not ignore(addDays(x, 1))</query>
    <query>SELECT count() from dt64 where not ignore(addDays(x, 1))</query>

    <query>SELECT sum(x = x) FROM dt</query>
    <query>SELECT sum(x = x) FROM dt64</query>
    <query>SELECT sum(toDateTime(toString(x)) != x) FROM dt</query>
    <query>SELECT sum(toDateTime64(toString(x), 3) != x) FROM dt64</query>


    <drop_query>DROP TABLE IF EXISTS dt</drop_query>
    <drop_query>DROP TABLE IF EXISTS dt64</drop_query>
</test>
